home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 138
/
Volume 138 Aug 19 2011 - Damaged.iso
/
Games
/
shadez.swf
/
scripts
/
Local
/
Draw
/
CExplodeBMD.as
< prev
next >
Wrap
Text File
|
2011-08-19
|
6KB
|
202 lines
package Local.Draw
{
import STC9.System.CProfiler;
import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Rectangle;
public class CExplodeBMD
{
private var mParticles:Object;
public function CExplodeBMD(param1:Point)
{
super();
mParticles = new Object();
CExplodeBMDParticle.mWorldPosition = param1;
}
public function CreatePoints(param1:BitmapData) : Array
{
var _loc2_:Number = NaN;
var _loc3_:Number = NaN;
var _loc4_:Number = NaN;
var _loc5_:Number = NaN;
var _loc6_:* = NaN;
var _loc7_:Number = NaN;
var _loc8_:Array = null;
var _loc9_:int = 0;
var _loc10_:int = 0;
var _loc11_:Array = null;
_loc2_ = Math.ceil(param1.width / CExplodeBMDParticle.mParticleSize);
_loc3_ = Math.ceil(param1.height / CExplodeBMDParticle.mParticleSize);
_loc4_ = param1.width / _loc2_;
_loc5_ = param1.height / _loc3_;
_loc11_ = new Array();
_loc7_ = 0;
_loc10_ = _loc3_;
while(_loc10_ >= 0)
{
_loc11_.push(_loc8_ = new Array());
if(false)
{
continue;
}
§§push(Number(0));
if(true)
{
_loc6_ = §§pop();
if(true)
{
§§push(_loc2_);
if(true)
{
_loc9_ = §§pop();
if(true)
{
while(true)
{
if(_loc9_ >= 0)
{
_loc8_.push(new Point(Math.floor(_loc6_),Math.floor(_loc7_)));
if(true)
{
§§push(_loc6_);
if(false)
{
break;
}
§§push(§§pop() + _loc4_);
if(true)
{
§§push(Number(§§pop()));
}
_loc6_ = §§pop();
_loc9_--;
}
continue;
}
}
addr139:
_loc7_ = §§pop() + _loc5_;
addr140:
_loc10_--;
continue;
addr136:
addr138:
}
§§goto(addr136);
§§push(_loc7_);
}
§§goto(addr138);
}
§§goto(addr140);
}
§§goto(addr139);
}
return _loc11_;
}
public function AddBMD(param1:BitmapData, param2:Matrix, param3:Point = null, param4:Number = 15) : *
{
if(true)
{
CProfiler.StartProfile("CExplodeBMD.AddBMD");
if(true)
{
CExplodeBMDParticle.mParticleSize = param4;
CreateParticles(param1,CreatePoints(param1),param2,param3);
}
CProfiler.StopProfile("CExplodeBMD.AddBMD");
}
}
public function CreateParticles(param1:BitmapData, param2:Array, param3:Matrix, param4:Point) : void
{
var _loc5_:int = 0;
var _loc6_:int = 0;
var _loc7_:int = 0;
var _loc8_:Point = null;
var _loc9_:Point = null;
var _loc10_:CExplodeBMDParticle = null;
_loc5_ = 0;
while(_loc5_ < param2.length - 1)
{
_loc6_ = 0;
_loc7_ = param2[_loc5_].length - 1;
while(_loc6_ < _loc7_)
{
_loc8_ = param2[_loc5_][_loc6_];
_loc9_ = param2[_loc5_ + 1][_loc6_ + 1];
if(!(_loc10_ = new CExplodeBMDParticle(param1,new Rectangle(_loc8_.x,_loc8_.y,_loc9_.x - _loc8_.x,_loc9_.y - _loc8_.y),param3,param4)).mInvalid)
{
if(false)
{
continue;
}
mParticles[_loc10_.mID] = _loc10_;
}
_loc6_++;
}
_loc5_++;
}
}
public function Process() : void
{
var _loc1_:* = 0;
var _loc2_:CExplodeBMDParticle = null;
if(true)
{
CProfiler.StartProfile("CExplodeBMD.Process");
§§push(0);
if(true)
{
_loc1_ = §§pop();
addr23:
§§push(0);
}
for each(_loc2_ in mParticles)
{
_loc1_++;
if(!_loc2_.Process())
{
_loc2_.Dispose();
delete mParticles[_loc2_.mID];
}
}
if(true)
{
CProfiler.AddDebug("CExplodeBMD.Count",String(_loc1_));
CProfiler.StopProfile("CExplodeBMD.Process");
}
return;
}
§§goto(addr23);
}
public function Render(param1:BitmapData) : void
{
var _loc2_:CExplodeBMDParticle = null;
if(true)
{
CProfiler.StartProfile("CExplodeBMD.Render");
}
for each(_loc2_ in mParticles)
{
if(true)
{
_loc2_.Render(param1);
}
}
if(true)
{
CProfiler.StopProfile("CExplodeBMD.Render");
}
}
}
}